package cn.com.lsy.product.lepao.service;

import cn.com.lsy.product.lepao.model.entities.LpStoreTbl;
import cn.com.lsy.product.lepao.model.entities.LpUserGoodsTbl;
import cn.com.lsy.product.lepao.model.entities.LpUserInfoTbl;
import cn.com.lsy.product.lepao.model.entities.LpUserPropertyTbl;
import cn.com.lsy.product.lepao.model.mt.entities.UserListDto;
import cn.com.lsy.product.lepao.model.mt.entities.UserMonthCardDto;

import java.util.List;

public interface IUserService {

    int selectByCount(String status, String startTime, String endTime, String searchCondition, int storeId, String cardType, int cardState, String sex);

    List<UserListDto> selectByPage(int start, int end, String status, String startTime, String endTime, String searchCondition, int storeId, String cardType, int cardState, String sex);

    boolean updateUserInfo(LpUserInfoTbl param);

    LpUserInfoTbl selectUserInfo(int id);

    LpStoreTbl oftenGoStoreName(int userId);

    UserMonthCardDto selectUserMonthCard(int userId);

    List<LpUserPropertyTbl> selectUserProperty(int userId);

    boolean addUserCard(int userId, String remark, int shopId, int cardDayNum);

    List<LpUserInfoTbl> selectNotStoreId();

    boolean updateUserGoodsByMonthCard(LpUserGoodsTbl param, int userId, int goodsId);

    boolean insertUserGoods(LpUserGoodsTbl param);

    boolean updateUserProperty(LpUserPropertyTbl param, int userId);

    int selectMonthCardTotal(int type, int storeId);

    int selectUserBuyCardTotal(int userId, String goodsType);

}
